/**
 * @des:global function
 * Created by mhy on 2017/12/27.
 */

/*获取对象、数组的长度、元素个数
 *@param obj 要计算长度的元素，可以为object、array、string
 */
function count(obj){
    var objType = typeof obj;

    if(objType == "string"){
        return obj.length;
    }else if(objType == "object"){
        var objLen = 0;

        for(var i in obj){
            objLen++;
        }
        return objLen;
    }
    return false;
}

//获得浏览器URI的参数
function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数

    if (r != null) return decodeURI(r[2]); return null; //返回参数值
}

/* 提示信息 */
function promptInformation($prompt,type,text){
	$prompt.css("display","block");

    if(type == 'success'){
        $prompt.css("color","green");
    }else{
        $prompt.css("color","red");
        $prompt.text(text);
    }
    $prompt.text(text);
}

//返回到上一页
function goLastPage() {
    window.location.href = document.referrer;
}

//返回到上一页 保留以前的表单
function goLastFormPage () {
    window.history.back();
}

//刷新当前页面
function reloadPage(){
    window.location.reload();
}

/*管理员：跳转到员工列表*/
function toStaffList() {
    window.location.href= "staffListPage";
}

/*超级管理员：跳转到管理员列表*/
function toAdminList() {
    window.location.href= "adminListPage";
}

/*管理员：跳转到添加员工*/
function toAddStaff() {
    window.location.href= "addStaffPage";
}

/*超级管理员：跳转到添加管理员*/
function toAddAdmin() {
    window.location.href= "addAdminPage";
}

/*管理员：跳转到添加书籍*/
function toAddBook() {
    window.location.href= "addBookPage";
}


/*管理员：跳转到图书列表*/
function toBookList() {
    window.location.href= "bookListPage";
}

/*员工:跳转到图书检索页面*/
function toBookSearch() {
    window.location.href= "bookSearchPage";
}

/*管理员:跳转到全部借阅列表*/
function toAllBorrowList() {
    window.location.href= "allBorrowListPage";
}

/*管理员:跳转到预约列表*/
function toOrderBorrowList() {
    window.location.href= "borrowListPageByState?type=1";
}

/*管理员:跳转到已借出列表*/
function toBorrowedBorrowList() {
    window.location.href= "borrowListPageByState?type=2";
}

/*管理员:跳转到正在归还列表*/
function toReturnBorrowList() {
    window.location.href= "borrowListPageByState?type=3";
}

/*管理员:跳转到已归还列表*/
function toCompleteBorrowList() {
    window.location.href= "borrowListPageByState?type=4";
}

/*管理员:跳转到已超期列表*/
function toPostDateBorrowList() {
    window.location.href= "borrowListPageByState?type=5";
}

/*管理员:跳转到已挂失列表*/
function toLostBorrowList() {
    window.location.href= "borrowListPageByState?type=6";
}

/*管理员:跳转到全部缴费记录*/
function toAllPaymentList() {
    window.location.href= "allPaymentsListPage";
}

/*管理员:跳转到超期缴费记录*/
function toOutDatePaymentList() {
    window.location.href= "paymentsListPageByReason?reason=1";
}

/*管理员:跳转到丢失缴费记录*/
function toLostPaymentList() {
    window.location.href= "paymentsListPageByReason?reason=2";
}

/*跳转到角色列表*/
function toRoleList() {
    window.location.href= "roleListPage";
}

/*跳转到添加角色*/
function toAddRole() {
    window.location.href= "addRolePage";
}

/*跳转到图书类别列表*/
function toBookClassList() {
    window.location.href= "bookClassListPage";
}

/*跳转到添加类别*/
function toAddBookClass() {
    window.location.href= "addBookClassPage";
}

/* 全选 */
function checkAll(e) {
    var $table = $('#datatable-checkbox');
    var dttable = $table.dataTable();
    var nTrs = dttable.fnGetNodes();

    if($(e).prop("checked")){
        for(var i = 0;i < nTrs.length;i++){
            $(nTrs[i]).children("td").eq(0).children("input").prop("checked",true);
        }   //end for
    }else{
        for(var i = 0;i < nTrs.length;i++){
            $(nTrs[i]).children("td").eq(0).children("input").prop("checked",false);
        }   //end for
    }
}
/*创建弹窗提示*/
function createPNotify(title,type,text) {
    var stack_bottomright = {
        "dir1": "up",
        "dir2": "left",
        "firstpos1": 25,
        "firstpos2": 25

    };

    new PNotify({
        title: title,
        type: type,
        text: text,
        styling: 'bootstrap3',
        hide: true,
        delay:3500,
        remove:true,
        mouse_reset: true,
        addclass: "stack-bottomright",
        stack: stack_bottomright
    });
}

/*post 表单*/
function post(url,name,param) {
    var temp = document.createElement("form");
    temp.action = url;
    temp.method = "post";
    temp.style.display = "none";

    var opt = document.createElement("textarea");
    opt.name = name;
    opt.value = param;
    temp.appendChild(opt);

    document.body.appendChild(temp);
    temp.submit();
    return temp;
}
function postForm(url,postForm) {
    var temp = document.createElement("form");
    temp.action = url;
    temp.method = "post";
    temp.style.display = "none";

    var params = postForm.find(".postParam");
    var opt;
    for(var i = 0;i < params.length;++i){
        opt = document.createElement("textarea");
        opt.name = params.eq(i).attr("id");
        opt.value = params.eq(i).text();
        temp.appendChild(opt);
    }

    document.body.appendChild(temp);
    temp.submit();
    return temp;
}

/* 检测字符串是否为数字*/
function judgeStringIsNumber(string) {
    for(var i = 0;i < string.length;i++){
        if((string[i] < '0' || string[i] > '9')){
            return false;
        }
    }   //end for
    return true;
}

/*分割字符串
* param:s,字符串
*       n 间隔长度*/
function cutString(s,n){
    var str=s;
    var strArr=[];
    var len=Math.ceil(str.length/n);
    for(var i=0;i < len;i++){
        if(str.length >= n){
            var strCut=str.substring(0,n);
            strArr.push(strCut);
            str=str.substring(n);
        }else{
            str=str;
            strArr.push(str);
        }
    }
    return strArr;
}

/*更新推荐*/
/*基于用户的协同过滤*/
function updateUserRecommendation(bookId) {
    $.ajax({
        type:'POST',//请求类型
        url:'updateUserRecommendation',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "bookId":bookId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        cache:true,
    });
}


/*更新推荐*/
/*基于物品的协同过滤*/
function updateBookRecommendation() {
    $.ajax({
        type:'POST',//请求类型
        url:'updateBookRecommendation',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        cache:true,
    });
}